package com.dingpeikeji.quickdeer.modules.rentproduct.entity;

import java.util.List;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.dingpeikeji.quickdeer.core.common.persistence.DataEntity;
import com.dingpeikeji.quickdeer.core.modules.site.entity.TSitedtl;
import com.dingpeikeji.quickdeer.core.modules.sys.entity.Office;
import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * 客运公司车型信息Entity
 * 
 * @author wuhao
 * @version 2016-08-08
 */
public class TCargotype extends DataEntity<TCargotype> {

	private static final long serialVersionUID = 1L;
	private Integer cargotypeid; // 主键
	@JsonIgnore
	private String cartypelogo; // 圖片路徑
	private Office office; // 公司
	private String typename; // 车型名称
	private Integer seats; // 座位数
	private String typedesc; // 车型描述
	private Double outkmsfee; // 超公里标准价
	private Double outtimefee; // 超时长标准价
	private Double nonoccu; // 空驶费
	@JsonIgnore
	private Double nudePrice; // 裸车价
	@JsonIgnore
	private Double oilcost; // 油费系数
	@JsonIgnore
	private Double roadmodules; // 路杂系数
	private Integer packs; // 行李箱容量
	private String iselectric; //是否是电动车
	private String tstyles; //车辆类型
	private Integer	continuerange;//续航里程
	private Integer sorts;
	private TSitedtl departcity;		// 出发城市
	private TSitedtl destcity;		// 到达城市
	private String productname;		// 产品名称
	private String range;		// 产品名称
	private String images;		// 车型图片
	private Double lowestAirPrice;//最低价
	public String getProductname() {
		return productname;
	}

	public String getRange() {
		return range;
	}

	public void setRange(String range) {
		this.range = range;
	}

	public void setProductname(String productname) {
		this.productname = productname;
	}

	public String getImages() {
		return images;
	}

	public void setImages(String images) {
		this.images = images;
	}

	public Double getLowestAirPrice() {
		return lowestAirPrice;
	}

	public void setLowestAirPrice(Double lowestAirPrice) {
		this.lowestAirPrice = lowestAirPrice;
	}
	private List<TRentproduct> rentproductList;//产品列表
	public TCargotype() {
		super();
	}

	public TCargotype(String id) {
		super(id);
	}

	public TSitedtl getDepartcity() {
		return departcity;
	}

	public void setDepartcity(TSitedtl departcity) {
		this.departcity = departcity;
	}

	public TSitedtl getDestcity() {
		return destcity;
	}

	public void setDestcity(TSitedtl destcity) {
		this.destcity = destcity;
	}

	public Integer getCargotypeid() {
		return cargotypeid;
	}
	

	public Double getNudePrice() {
		return nudePrice;
	}

	public Double getOilcost() {
		return oilcost;
	}

	public void setOilcost(Double oilcost) {
		this.oilcost = oilcost;
	}

	public Double getRoadmodules() {
		return roadmodules;
	}

	public void setRoadmodules(Double roadmodules) {
		this.roadmodules = roadmodules;
	}

	public void setNudePrice(Double nudePrice) {
		this.nudePrice = nudePrice;
	}

	public String getTstyles() {
		return tstyles;
	}

	public List<TRentproduct> getRentproductList() {
		return rentproductList;
	}

	public void setRentproductList(List<TRentproduct> rentproductList) {
		this.rentproductList = rentproductList;
	}

	public void setTstyles(String tstyles) {
		this.tstyles = tstyles;
	}

	public void setCargotypeid(Integer cargotypeid) {
		this.cargotypeid = cargotypeid;
	}

	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}

	@Length(min = 1, max = 50, message = "车型名称长度必须介于 1 和 50 之间")
	public String getTypename() {
		return typename;
	}

	public void setTypename(String typename) {
		this.typename = typename;
	}

	@NotNull(message = "座位数不能为空")
	public Integer getSeats() {
		return seats;
	}

	public void setSeats(Integer seats) {
		this.seats = seats;
	}

	@Length(min = 0, max = 255, message = "车型描述长度必须介于 0 和 255 之间")
	public String getTypedesc() {
		return typedesc;
	}

	public void setTypedesc(String typedesc) {
		this.typedesc = typedesc;
	}

	@NotNull(message="超公里标准价不能为空")
	public Double getOutkmsfee() {
		return outkmsfee;
	}

	public void setOutkmsfee(Double outkmsfee) {
		this.outkmsfee = outkmsfee;
	}

	public String getCartypelogo() {
		return cartypelogo;
	}

	public void setCartypelogo(String cartypelogo) {
		this.cartypelogo = cartypelogo;
	}

	@NotNull(message="超时长标准价不能为空")
	public Double getOuttimefee() {
		return outtimefee;
	}

	public void setOuttimefee(Double outtimefee) {
		this.outtimefee = outtimefee;
	}

	@NotNull(message="行李箱容量不能为空")
	public Integer getPacks() {
		return packs;
	}

	public void setPacks(Integer packs) {
		this.packs = packs;
	}

	public String getIselectric() {
		return iselectric;
	}

	public void setIselectric(String iselectric) {
		this.iselectric = iselectric;
	}

	public Integer getContinuerange() {
		return continuerange;
	}

	public void setContinuerange(Integer continuerange) {
		this.continuerange = continuerange;
	}

	public Double getNonoccu() {
		return nonoccu;
	}

	public void setNonoccu(Double nonoccu) {
		this.nonoccu = nonoccu;
	}

	public Integer getSorts() {
		return sorts;
	}

	public void setSorts(Integer sorts) {
		this.sorts = sorts;
	}
	
}